package com.fuyao.cloud.space.dto;

import com.fuyao.cloud.common.data.mybatis.SearchCondition;
import com.fuyao.cloud.common.data.mybatis.SearchOp;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class RoomSearchHouse {

    @SearchCondition(op = SearchOp.LIKE)
    @ApiModelProperty(value = "房间名称")
    private String name;

    @SearchCondition()
    @ApiModelProperty(value = "产权年限")
    private String ageLimit;

    @SearchCondition()
    @ApiModelProperty(value = "配套电梯（0无，1有）")
    private String elevator;

    @SearchCondition()
    @ApiModelProperty(value = "房屋朝向{东、东北、东南、北、南、西、西北、西南}")
    private String orientation;

    @SearchCondition()
    @ApiModelProperty(value = "房屋类型编码{BG：办公用房、YW：业务用房、JZ：居住用房、QT：其他用房}")
    private String typeCode;

    @SearchCondition()
    @ApiModelProperty(value = "状态：0：代表空闲，1：预定中， 2：使用中，3:维修中，4：待处置，5：已处置")
    private Integer status;

    @SearchCondition(op = SearchOp.LIKE)
    @ApiModelProperty(value = "房屋用途")
    private String purpose;

    @SearchCondition(op = SearchOp.GT,mappingField = "useArea")
    @ApiModelProperty(value = "使用面积（平米）大于")
    private String useAreaGt;

    @SearchCondition(op = SearchOp.LT,mappingField = "useArea")
    @ApiModelProperty(value = "使用面积（平米）小于")
    private String useAreaLt;

    @SearchCondition()
    @ApiModelProperty(value = "建造年代")
    private String constructionAge;

    @SearchCondition()
    @ApiModelProperty(value = "房屋户型{单间、一房一厅、两房一厅、三房两厅}")
    private String layout;

    @SearchCondition()
    @ApiModelProperty(value = "装修程度{毛坯、普装、精装、豪华装}")
    private String renovation;

    @SearchCondition(op = SearchOp.LIKE)
    @ApiModelProperty(value = "房屋编码")
    private String code;

    @SearchCondition(op = SearchOp.LIKE)
    @ApiModelProperty(value = "所属楼栋全称")
    private String parentFullname;

    @SearchCondition()
    @ApiModelProperty(value = "楼层ID")
    private Long storeyId;

    @SearchCondition(op = SearchOp.LIKE)
    @ApiModelProperty(value = "楼层名称")
    private String storeyName;

    @SearchCondition()
    @ApiModelProperty(value = "房屋类型名称{BG：办公用房、YW：业务用房、JZ：居住用房、QT：其他用房}")
    private String typeName;

    @SearchCondition(op = SearchOp.GT,mappingField = "floorage")
    @ApiModelProperty(value = "建筑面积（平米）")
    private String floorageGt;

    @SearchCondition(op = SearchOp.LT,mappingField = "floorage")
    @ApiModelProperty(value = "建筑面积（平米）")
    private String floorageLt;

    @SearchCondition()
    @ApiModelProperty(value = "是否危房(0:否、1:是)")
    private String dangerous;

    @SearchCondition()
    @ApiModelProperty(value = "是否正在施工0否，1是")
    private String construction;

    @SearchCondition(op = SearchOp.GT,mappingField = "rent")
    @ApiModelProperty(value = "租金类型为宿舍才显示")
    private String rentGt;

    @SearchCondition(op = SearchOp.LT,mappingField = "rent")
    @ApiModelProperty(value = "租金类型为宿舍才显示")
    private String rentLt;

    @SearchCondition(op = SearchOp.GT,mappingField = "price")
    @ApiModelProperty(value = "房屋价格 大于")
    private String priceGt;

    @SearchCondition(op = SearchOp.LT,mappingField = "price")
    @ApiModelProperty(value = "房屋价格 小于")
    private String priceLt;

    @SearchCondition(op = SearchOp.LIKE)
    @ApiModelProperty(value = "备注")
    private String remarks;

    @SearchCondition(op = SearchOp.RIGHT_LIKE)
    @ApiModelProperty(value = "数据权限编码，从区域开始一直按着全编码按照表之间的依赖一直延续下去")
    private String dataCode;

    @SearchCondition()
    @ApiModelProperty(value = "管理单位ID")
    private Long belongouinfoId;

    @SearchCondition(op = SearchOp.LIKE)
    @ApiModelProperty(value = "管理单位名称")
    private String belongouinfoName;
}
